The present invention relates to networked communication and in particular to selecting suitable communication program(s) for communication among networked users.
Computer-based communications offer many forms of communication including electronic mail (hereafter email), instant messaging (hereafter IM), voice over internet protocol (hereafter VoIP), video conferencing, and so on. Consequently, a person (the caller) who wants to initiate a call (or a communication) may have to decide from among many communication methods. Factors that might be taken into consideration when choosing a communication method might include when the call is being made, to whom (the callee) the call is being made, where the callee is located, the technology that is available to the callee, and so on. This decision making process can become significant in private networks such as peer-to-peer (P2P) networks. In some situations, the caller may want to be certain that she reach the callee and may want to know ahead of time, before making the attempt, whether can be reached or not (and if not, avoid the process of attempting the call).
For example, the time of day the call is made may be important. The callee might prefer one form of communication over another at different times of the day; the callee might prefer email in the evening time (e.g., while asleep) rather than IM. The callee's location may dictate the suitable communication method; e.g., the callee may prefer IM over VoIP if she happens to be having coffee at an Internet cafe where bandwidth might be limited or the quality of service is inadequate. The callee may have specific preferences for a communication method. The devices installed on a callee's system is also a determinative factor. The term “communication environment” will be used herein to represent the collection of factors that are associated with the callee, and which must be given consideration by a caller in order to communicate with the callee.
Thus, the communication environment might include such things as time of day, callee's location, and callee's preference(s). Whether the callee client system is on-line or off-line might be considered to be part of the communication environment when attempting to communicate. Thus, in a P2P network, a user is “on-line” if she is logged onto the P2P network. A user is “off-line” if she is logged off the network. A user could also be considered “off-line” if he is logged on but his PC (laptop, or some other suitable communication device) has been idle for a period of time, or otherwise indicates that he is not available for communication. The on-line/off-line state is commonly referred to as “presence.” The callee's presence information can be used to determine a suitable form of communication; e.g., if the callee is on-line then IM may be a suitable and form of communication; whereas if the callee is off-line, a cell phone call might be appropriate.